package org.a022;
/**
 * ThreadLocal线程局部变量
 *
 * ThreadLocal是使用空间换时间，synchronized是使用时间换空间
 * 比如在hibernate中session就存在与ThreadLocal中，避免synchronized的使用
 *
 * 运行下面的程序，理解ThreadLocal
 * 
 * @author 马士兵
 */
public class ThreadLocal2 {
//	volatile static Persion p = new Persion();
	static ThreadLocal<Persion> tl = new ThreadLocal<>();
	public static void main(String[] args) {
		new Thread(()->{
			tl.set(new Persion());
			System.out.println(tl.get());
		}).start();
		new Thread(()->{
			System.out.println("2"+tl.get());
		}).start();
	}
}
